package com.ruoyi.framework.kaptcha;

import com.google.code.kaptcha.text.TextProducer;
import com.google.code.kaptcha.util.Configurable;
import java.util.Random;

/**
 * 数学验证码文本生成器，生成"表达式@结果"格式的字符串
 */
public class MathTextCreator extends Configurable implements TextProducer {

    @Override
    public String getText() {
        Random random = new Random();
        // 生成1-10之间的两个随机数
        int a = random.nextInt(10) + 1;
        int b = random.nextInt(10) + 1;
        // 确保减法结果非负（避免用户计算负数）
        if (a < b) {
            int temp = a;
            a = b;
            b = temp;
        }
        // 随机选择加法或减法（可扩展为乘法）
        String operator = random.nextBoolean() ? "+" : "-";
        int result;
        if ("+".equals(operator)) {
            result = a + b;
        } else {
            result = a - b;
        }
        // 格式：表达式@结果（例如 "3+5@8" 或 "7-2@5"）
        return a + operator + b + "@" + result;
    }
}